<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <!-- For Mobile Devices -->
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
        <meta name="generator" content="Doxygen 1.8.18"/>
        <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
        <title>HElib: helib::Ctxt Class Reference</title>
        <!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
        <script type="text/javascript" src="dynsections.js"></script>
        <link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
        <link href="doxygen.css" rel="stylesheet" type="text/css" />
        <link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
        <link href='https://fonts.googleapis.com/css?family=Roboto+Slab' rel='stylesheet' type='text/css'>
		<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,100;1,700&family=Merriweather&family=Merriweather+Sans&family=Open+Sans&family=Poppins:ital@1&family=Roboto:ital,wght@0,400;1,300;1,900&display=swap" rel="stylesheet"> 
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
        <link href="jquery.smartmenus.bootstrap.css" rel="stylesheet">
        <script type="text/javascript" src="jquery.smartmenus.js"></script>
        <!-- SmartMenus jQuery Bootstrap Addon -->
        <script type="text/javascript" src="jquery.smartmenus.bootstrap.js"></script>
        <!-- SmartMenus jQuery plugin -->
    </head>
    <body style="font-family: 'Merriweather', serif;">
        <nav class="navbar navbar-default" role="navigation">
            <div class="container">
                <div class="navbar-header">
                    <a class="navbar-brand">HElib Implementing Homomorphic Encryption</a>
                </div>
            </div>
        </nav>
        <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
            <div class="content" id="content">
                <div class="container">
                    <div class="row">
                        <div class="col-sm-12 panel " style="padding-bottom: 15px;">
                            <div style="margin-bottom: 15px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacehelib.html">helib</a></li><li class="navelem"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classhelib_1_1_ctxt-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">helib::Ctxt Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A <a class="el" href="classhelib_1_1_ctxt.html" title="A Ctxt object holds a single ciphertext.">Ctxt</a> object holds a single ciphertext.  
 <a href="classhelib_1_1_ctxt.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_ctxt_8h_source.html">Ctxt.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a6167385b97fec9383924ce1de0623447"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a6167385b97fec9383924ce1de0623447">Ctxt</a> (const <a class="el" href="classhelib_1_1_pub_key.html">PubKey</a> &amp;newPubKey, long newPtxtSpace=0)</td></tr>
<tr class="separator:a6167385b97fec9383924ce1de0623447"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9755426e7ad503525a3f7ebd7fda001a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a9755426e7ad503525a3f7ebd7fda001a">Ctxt</a> (const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;other)=default</td></tr>
<tr class="separator:a9755426e7ad503525a3f7ebd7fda001a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb0f12d9006e3627112eeced549920a0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#acb0f12d9006e3627112eeced549920a0">Ctxt</a> (ZeroCtxtLike_type, const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;ctxt)</td></tr>
<tr class="separator:acb0f12d9006e3627112eeced549920a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a6c0076a639a07b64ca0836c6d2ba8f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a2a6c0076a639a07b64ca0836c6d2ba8f">DummyEncrypt</a> (const NTL::ZZX &amp;ptxt, double size=-1.0)</td></tr>
<tr class="separator:a2a6c0076a639a07b64ca0836c6d2ba8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42eabb3f49d284987f292904e347896f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a42eabb3f49d284987f292904e347896f">operator=</a> (const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;other)</td></tr>
<tr class="separator:a42eabb3f49d284987f292904e347896f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84cb5f5d23fcb447ac18af18497570ef"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a84cb5f5d23fcb447ac18af18497570ef">operator==</a> (const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;other) const</td></tr>
<tr class="separator:a84cb5f5d23fcb447ac18af18497570ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad761bbf3977b408b91b3e9f1f9d54243"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#ad761bbf3977b408b91b3e9f1f9d54243">operator!=</a> (const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;other) const</td></tr>
<tr class="separator:ad761bbf3977b408b91b3e9f1f9d54243"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac38e7805aad49feadfab6044a3b83c0b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#ac38e7805aad49feadfab6044a3b83c0b">equalsTo</a> (const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;other, bool comparePkeys=true) const</td></tr>
<tr class="separator:ac38e7805aad49feadfab6044a3b83c0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1559c3aed190d010d3687667943dbc1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#ac1559c3aed190d010d3687667943dbc1">write</a> (std::ostream &amp;str) const</td></tr>
<tr class="separator:ac1559c3aed190d010d3687667943dbc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fa59bafd14baaf72dcdf8fe2bdd600f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a7fa59bafd14baaf72dcdf8fe2bdd600f">read</a> (std::istream &amp;str)</td></tr>
<tr class="separator:a7fa59bafd14baaf72dcdf8fe2bdd600f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Ciphertext arithmetic</div></td></tr>
<tr class="memitem:a0d8950ecc7af034b33ac8f5a247ef5ea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a0d8950ecc7af034b33ac8f5a247ef5ea">negate</a> ()</td></tr>
<tr class="separator:a0d8950ecc7af034b33ac8f5a247ef5ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e117ac77007f17b33985d1b12da1ca8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a8e117ac77007f17b33985d1b12da1ca8">operator+=</a> (const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;other)</td></tr>
<tr class="separator:a8e117ac77007f17b33985d1b12da1ca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad791bfc3ca7b717e5c961992e264d4ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#ad791bfc3ca7b717e5c961992e264d4ab">operator-=</a> (const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;other)</td></tr>
<tr class="separator:ad791bfc3ca7b717e5c961992e264d4ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6d6ddcfda3e0e00c821e9c30cc933be"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#ab6d6ddcfda3e0e00c821e9c30cc933be">addCtxt</a> (const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;other, bool negative=false)</td></tr>
<tr class="separator:ab6d6ddcfda3e0e00c821e9c30cc933be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb098f38a18ec6de648acadb8265d9ba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#afb098f38a18ec6de648acadb8265d9ba">multLowLvl</a> (const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;other, bool destructive=false)</td></tr>
<tr class="separator:afb098f38a18ec6de648acadb8265d9ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08b1a6dbb1fe85b2cda29b8babba474f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a08b1a6dbb1fe85b2cda29b8babba474f">operator*=</a> (const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;other)</td></tr>
<tr class="separator:a08b1a6dbb1fe85b2cda29b8babba474f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0378ed181a8f8d6a31f4717db37f3912"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a0378ed181a8f8d6a31f4717db37f3912">automorph</a> (long k)</td></tr>
<tr class="separator:a0378ed181a8f8d6a31f4717db37f3912"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1a8692ddc6523e41a38cbc033e0798c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#ae1a8692ddc6523e41a38cbc033e0798c">operator&gt;&gt;=</a> (long k)</td></tr>
<tr class="separator:ae1a8692ddc6523e41a38cbc033e0798c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a266574a060b91f68d54771b0b083d0ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a266574a060b91f68d54771b0b083d0ac">complexConj</a> ()</td></tr>
<tr class="separator:a266574a060b91f68d54771b0b083d0ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7697bc94e5db93b5db7238fa6418d15"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#ad7697bc94e5db93b5db7238fa6418d15">smartAutomorph</a> (long k)</td></tr>
<tr class="memdesc:ad7697bc94e5db93b5db7238fa6418d15"><td class="mdescLeft">&#160;</td><td class="mdescRight">automorphism with re-linearization  <a href="classhelib_1_1_ctxt.html#ad7697bc94e5db93b5db7238fa6418d15">More...</a><br /></td></tr>
<tr class="separator:ad7697bc94e5db93b5db7238fa6418d15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af45e7cea4c25ed6252b5695f1686ea01"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#af45e7cea4c25ed6252b5695f1686ea01">frobeniusAutomorph</a> (long j)</td></tr>
<tr class="memdesc:af45e7cea4c25ed6252b5695f1686ea01"><td class="mdescLeft">&#160;</td><td class="mdescRight">applies the automorphism p^j using smartAutomorphism  <a href="classhelib_1_1_ctxt.html#af45e7cea4c25ed6252b5695f1686ea01">More...</a><br /></td></tr>
<tr class="separator:af45e7cea4c25ed6252b5695f1686ea01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bfa68b28b7c36985bfcaf1715ff4080"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a2bfa68b28b7c36985bfcaf1715ff4080">operator+=</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_b_g_v.html">BGV</a> &gt; &amp;other)</td></tr>
<tr class="memdesc:a2bfa68b28b7c36985bfcaf1715ff4080"><td class="mdescLeft">&#160;</td><td class="mdescRight">Plus equals operator with a <code><a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a></code> <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>.  <a href="classhelib_1_1_ctxt.html#a2bfa68b28b7c36985bfcaf1715ff4080">More...</a><br /></td></tr>
<tr class="separator:a2bfa68b28b7c36985bfcaf1715ff4080"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39e5837bef036452274043f88ccef878"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a39e5837bef036452274043f88ccef878">operator-=</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_b_g_v.html">BGV</a> &gt; &amp;other)</td></tr>
<tr class="memdesc:a39e5837bef036452274043f88ccef878"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minus equals operator with a <code><a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a></code> <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>.  <a href="classhelib_1_1_ctxt.html#a39e5837bef036452274043f88ccef878">More...</a><br /></td></tr>
<tr class="separator:a39e5837bef036452274043f88ccef878"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88d06208529634231c0775db8dc02898"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a88d06208529634231c0775db8dc02898">operator*=</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_b_g_v.html">BGV</a> &gt; &amp;other)</td></tr>
<tr class="memdesc:a88d06208529634231c0775db8dc02898"><td class="mdescLeft">&#160;</td><td class="mdescRight">Times equals operator with a <code><a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a></code> <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>.  <a href="classhelib_1_1_ctxt.html#a88d06208529634231c0775db8dc02898">More...</a><br /></td></tr>
<tr class="separator:a88d06208529634231c0775db8dc02898"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f2e100a365df2f539f71105c646c73d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a9f2e100a365df2f539f71105c646c73d">operator+=</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt; &amp;other)</td></tr>
<tr class="memdesc:a9f2e100a365df2f539f71105c646c73d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Plus equals operator with a <code><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a></code> <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>.  <a href="classhelib_1_1_ctxt.html#a9f2e100a365df2f539f71105c646c73d">More...</a><br /></td></tr>
<tr class="separator:a9f2e100a365df2f539f71105c646c73d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37501fb39c2d0959e6c97a5079d538c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a37501fb39c2d0959e6c97a5079d538c3">operator-=</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt; &amp;other)</td></tr>
<tr class="memdesc:a37501fb39c2d0959e6c97a5079d538c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minus equals operator with a <code><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a></code> <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>.  <a href="classhelib_1_1_ctxt.html#a37501fb39c2d0959e6c97a5079d538c3">More...</a><br /></td></tr>
<tr class="separator:a37501fb39c2d0959e6c97a5079d538c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3f259b406a088d0ff32df494c97816c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#ad3f259b406a088d0ff32df494c97816c">operator*=</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt; &amp;other)</td></tr>
<tr class="memdesc:ad3f259b406a088d0ff32df494c97816c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Times equals operator with a <code><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a></code> <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>.  <a href="classhelib_1_1_ctxt.html#ad3f259b406a088d0ff32df494c97816c">More...</a><br /></td></tr>
<tr class="separator:ad3f259b406a088d0ff32df494c97816c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cf434520f6c68c822409113677c6240"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a0cf434520f6c68c822409113677c6240">operator*=</a> (const NTL::ZZX &amp;poly)</td></tr>
<tr class="memdesc:a0cf434520f6c68c822409113677c6240"><td class="mdescLeft">&#160;</td><td class="mdescRight">Times equals operator with a <code>ZZX</code>.  <a href="classhelib_1_1_ctxt.html#a0cf434520f6c68c822409113677c6240">More...</a><br /></td></tr>
<tr class="separator:a0cf434520f6c68c822409113677c6240"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa292708bc593d7cb88fcf3f8e0c8f2d5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#aa292708bc593d7cb88fcf3f8e0c8f2d5">operator*=</a> (const long scalar)</td></tr>
<tr class="memdesc:aa292708bc593d7cb88fcf3f8e0c8f2d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Times equals operator with a <code>long</code>.  <a href="classhelib_1_1_ctxt.html#aa292708bc593d7cb88fcf3f8e0c8f2d5">More...</a><br /></td></tr>
<tr class="separator:aa292708bc593d7cb88fcf3f8e0c8f2d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acec01f9913e427f8231124d8514cff7b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#acec01f9913e427f8231124d8514cff7b">addConstant</a> (const <a class="el" href="classhelib_1_1_double_c_r_t.html">DoubleCRT</a> &amp;dcrt, double size=-1.0)</td></tr>
<tr class="separator:acec01f9913e427f8231124d8514cff7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaec7ff406cef04d8abb5d85f1f516d4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#abaec7ff406cef04d8abb5d85f1f516d4">addConstant</a> (const NTL::ZZX &amp;poly, double size=-1.0)</td></tr>
<tr class="separator:abaec7ff406cef04d8abb5d85f1f516d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1974d8eaedd9da6ef46ac38a4dbf740"><td class="memTemplParams" colspan="2">template&lt;typename Scheme &gt; </td></tr>
<tr class="memitem:ae1974d8eaedd9da6ef46ac38a4dbf740"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#ae1974d8eaedd9da6ef46ac38a4dbf740">addConstant</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;ptxt)</td></tr>
<tr class="memdesc:ae1974d8eaedd9da6ef46ac38a4dbf740"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code><a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a></code> plaintext to this <code><a class="el" href="classhelib_1_1_ctxt.html" title="A Ctxt object holds a single ciphertext.">Ctxt</a></code>.  <a href="classhelib_1_1_ctxt.html#ae1974d8eaedd9da6ef46ac38a4dbf740">More...</a><br /></td></tr>
<tr class="separator:ae1974d8eaedd9da6ef46ac38a4dbf740"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a370e61d286e2c2716f2d0659e1dfa1e8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a370e61d286e2c2716f2d0659e1dfa1e8">addConstant</a> (const NTL::ZZ &amp;c)</td></tr>
<tr class="separator:a370e61d286e2c2716f2d0659e1dfa1e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c60338c2ff6041ef211d16bc8fd0835"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a1c60338c2ff6041ef211d16bc8fd0835">addConstantCKKS</a> (std::pair&lt; long, long &gt;)</td></tr>
<tr class="memdesc:a1c60338c2ff6041ef211d16bc8fd0835"><td class="mdescLeft">&#160;</td><td class="mdescRight">add a rational number in the form a/b, a,b are long  <a href="classhelib_1_1_ctxt.html#a1c60338c2ff6041ef211d16bc8fd0835">More...</a><br /></td></tr>
<tr class="separator:a1c60338c2ff6041ef211d16bc8fd0835"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6662c3655bc718353a84832e6c7a6a41"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a6662c3655bc718353a84832e6c7a6a41">addConstantCKKS</a> (double x)</td></tr>
<tr class="separator:a6662c3655bc718353a84832e6c7a6a41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a415c1e0f7cafd709d2161ad2d36f3661"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a415c1e0f7cafd709d2161ad2d36f3661">addConstantCKKS</a> (const <a class="el" href="classhelib_1_1_double_c_r_t.html">DoubleCRT</a> &amp;dcrt, NTL::xdouble size=NTL::xdouble(-1.0), NTL::xdouble factor=NTL::xdouble(-1.0))</td></tr>
<tr class="separator:a415c1e0f7cafd709d2161ad2d36f3661"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad09bb52639c5689845b0b33b87802e02"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#ad09bb52639c5689845b0b33b87802e02">addConstantCKKS</a> (const NTL::ZZX &amp;poly, NTL::xdouble size=NTL::xdouble(-1.0), NTL::xdouble factor=NTL::xdouble(-1.0))</td></tr>
<tr class="separator:ad09bb52639c5689845b0b33b87802e02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a499b85bc813569310397131c291acc54"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a499b85bc813569310397131c291acc54">addConstantCKKS</a> (const std::vector&lt; std::complex&lt; double &gt;&gt; &amp;ptxt)</td></tr>
<tr class="separator:a499b85bc813569310397131c291acc54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf5e4278c14b630cfc5531ea3af1ac80"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#acf5e4278c14b630cfc5531ea3af1ac80">addConstantCKKS</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt; &amp;ptxt)</td></tr>
<tr class="memdesc:acf5e4278c14b630cfc5531ea3af1ac80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a></code> plaintext to this <code><a class="el" href="classhelib_1_1_ctxt.html" title="A Ctxt object holds a single ciphertext.">Ctxt</a></code>.  <a href="classhelib_1_1_ctxt.html#acf5e4278c14b630cfc5531ea3af1ac80">More...</a><br /></td></tr>
<tr class="separator:acf5e4278c14b630cfc5531ea3af1ac80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac94306a1f86ba6b68a3931f4f33375b1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#ac94306a1f86ba6b68a3931f4f33375b1">addConstantCKKS</a> (const NTL::ZZ &amp;c)</td></tr>
<tr class="separator:ac94306a1f86ba6b68a3931f4f33375b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a312b6f2468ea56f3b594bb9585d6f7eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a312b6f2468ea56f3b594bb9585d6f7eb">multByConstant</a> (const <a class="el" href="classhelib_1_1_double_c_r_t.html">DoubleCRT</a> &amp;dcrt, double size=-1.0)</td></tr>
<tr class="separator:a312b6f2468ea56f3b594bb9585d6f7eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a707549d0908eac6332e313c444146bb3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a707549d0908eac6332e313c444146bb3">multByConstant</a> (const NTL::ZZX &amp;poly, double size=-1.0)</td></tr>
<tr class="separator:a707549d0908eac6332e313c444146bb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf4ef787b8aa61e345341e838dc29500"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#aaf4ef787b8aa61e345341e838dc29500">multByConstant</a> (const <a class="el" href="namespacehelib.html#a4d6002f36f1a61982fded09adf1331ca">zzX</a> &amp;poly, double size=-1.0)</td></tr>
<tr class="separator:aaf4ef787b8aa61e345341e838dc29500"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac438d6e8c4537f7b3ee986ec847233a8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#ac438d6e8c4537f7b3ee986ec847233a8">multByConstant</a> (const NTL::ZZ &amp;c)</td></tr>
<tr class="separator:ac438d6e8c4537f7b3ee986ec847233a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a160e2585f4693920976a482f8ba4435d"><td class="memTemplParams" colspan="2">template&lt;typename Scheme &gt; </td></tr>
<tr class="memitem:a160e2585f4693920976a482f8ba4435d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a160e2585f4693920976a482f8ba4435d">multByConstant</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;ptxt)</td></tr>
<tr class="memdesc:a160e2585f4693920976a482f8ba4435d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply a <code><a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a></code> plaintext to this <code><a class="el" href="classhelib_1_1_ctxt.html" title="A Ctxt object holds a single ciphertext.">Ctxt</a></code>.  <a href="classhelib_1_1_ctxt.html#a160e2585f4693920976a482f8ba4435d">More...</a><br /></td></tr>
<tr class="separator:a160e2585f4693920976a482f8ba4435d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad69c95bea08a86cf839078e92d730a74"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#ad69c95bea08a86cf839078e92d730a74">multByConstantCKKS</a> (double x)</td></tr>
<tr class="memdesc:ad69c95bea08a86cf839078e92d730a74"><td class="mdescLeft">&#160;</td><td class="mdescRight">multiply by a rational number or floating point  <a href="classhelib_1_1_ctxt.html#ad69c95bea08a86cf839078e92d730a74">More...</a><br /></td></tr>
<tr class="separator:ad69c95bea08a86cf839078e92d730a74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8dcaea89cdce5bdc050c5327aa9394bc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a8dcaea89cdce5bdc050c5327aa9394bc">multByConstantCKKS</a> (std::pair&lt; long, long &gt; num)</td></tr>
<tr class="separator:a8dcaea89cdce5bdc050c5327aa9394bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaf38ffe233cda0c7952083934fcbadd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#abaf38ffe233cda0c7952083934fcbadd">multByConstantCKKS</a> (const <a class="el" href="classhelib_1_1_double_c_r_t.html">DoubleCRT</a> &amp;dcrt, NTL::xdouble size=NTL::xdouble(-1.0), NTL::xdouble factor=NTL::xdouble(-1.0), double roundingErr=-1.0)</td></tr>
<tr class="separator:abaf38ffe233cda0c7952083934fcbadd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a079e2d2426c5076ef1c1e52882dc7ec3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a079e2d2426c5076ef1c1e52882dc7ec3">multByConstantCKKS</a> (const NTL::ZZX &amp;poly, NTL::xdouble size=NTL::xdouble(-1.0), NTL::xdouble factor=NTL::xdouble(-1.0), double roundingErr=-1.0)</td></tr>
<tr class="separator:a079e2d2426c5076ef1c1e52882dc7ec3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abeeddcfcee2046dc59c3c0070ec5adfc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#abeeddcfcee2046dc59c3c0070ec5adfc">multByConstantCKKS</a> (const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt; &amp;ptxt)</td></tr>
<tr class="memdesc:abeeddcfcee2046dc59c3c0070ec5adfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply a <code><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a></code> plaintext to this <code><a class="el" href="classhelib_1_1_ctxt.html" title="A Ctxt object holds a single ciphertext.">Ctxt</a></code>.  <a href="classhelib_1_1_ctxt.html#abeeddcfcee2046dc59c3c0070ec5adfc">More...</a><br /></td></tr>
<tr class="separator:abeeddcfcee2046dc59c3c0070ec5adfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac694a35d2d272544d31ff337dbab6473"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#ac694a35d2d272544d31ff337dbab6473">multByConstantCKKS</a> (const std::vector&lt; std::complex&lt; double &gt;&gt; &amp;ptxt)</td></tr>
<tr class="separator:ac694a35d2d272544d31ff337dbab6473"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a437f17abc80f5401cad056aca075bf03"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a437f17abc80f5401cad056aca075bf03">xorConstant</a> (const <a class="el" href="classhelib_1_1_double_c_r_t.html">DoubleCRT</a> &amp;poly, <a class="el" href="api_attributes_8h.html#addf5ec070e9499d36b7f2009ce736076">UNUSED</a> double size=-1.0)</td></tr>
<tr class="separator:a437f17abc80f5401cad056aca075bf03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a034f38f0e52a7fa7b9bd234c5ddfefdf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a034f38f0e52a7fa7b9bd234c5ddfefdf">xorConstant</a> (const NTL::ZZX &amp;poly, double size=-1.0)</td></tr>
<tr class="separator:a034f38f0e52a7fa7b9bd234c5ddfefdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a587ab9412c3344825a34ce58d0641e3d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a587ab9412c3344825a34ce58d0641e3d">nxorConstant</a> (const <a class="el" href="classhelib_1_1_double_c_r_t.html">DoubleCRT</a> &amp;poly, <a class="el" href="api_attributes_8h.html#addf5ec070e9499d36b7f2009ce736076">UNUSED</a> double size=-1.0)</td></tr>
<tr class="separator:a587ab9412c3344825a34ce58d0641e3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa15b7e2bfaf801a12ac9f7f2b407b7a6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#aa15b7e2bfaf801a12ac9f7f2b407b7a6">nxorConstant</a> (const NTL::ZZX &amp;poly, double size=-1.0)</td></tr>
<tr class="separator:aa15b7e2bfaf801a12ac9f7f2b407b7a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afac2f450f59550fe5189581128a797ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#afac2f450f59550fe5189581128a797ad">divideByP</a> ()</td></tr>
<tr class="separator:afac2f450f59550fe5189581128a797ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d7f0fe8a4c3e7b9b3298396039589cf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a5d7f0fe8a4c3e7b9b3298396039589cf">multByP</a> (long e=1)</td></tr>
<tr class="separator:a5d7f0fe8a4c3e7b9b3298396039589cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf3fba1cfff58043e99f24889629b58b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#abf3fba1cfff58043e99f24889629b58b">divideBy2</a> ()</td></tr>
<tr class="separator:abf3fba1cfff58043e99f24889629b58b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46f673df4826eace8616c27efec22356"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a46f673df4826eace8616c27efec22356">extractBits</a> (std::vector&lt; <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &gt; &amp;bits, long nBits2extract=0)</td></tr>
<tr class="separator:a46f673df4826eace8616c27efec22356"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4998340ac9bb105674b4a136ef5f1eb0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a4998340ac9bb105674b4a136ef5f1eb0">multiplyBy</a> (const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;other)</td></tr>
<tr class="separator:a4998340ac9bb105674b4a136ef5f1eb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a590e147aceaf3db0c4a7fdbcd870ee89"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a590e147aceaf3db0c4a7fdbcd870ee89">multiplyBy2</a> (const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;other1, const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;other2)</td></tr>
<tr class="separator:a590e147aceaf3db0c4a7fdbcd870ee89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61dba3779cdb768843fa488e94b34a46"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a61dba3779cdb768843fa488e94b34a46">square</a> ()</td></tr>
<tr class="separator:a61dba3779cdb768843fa488e94b34a46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f62266b5308de72c99e490c601c9c61"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a4f62266b5308de72c99e490c601c9c61">cube</a> ()</td></tr>
<tr class="separator:a4f62266b5308de72c99e490c601c9c61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a970768c65532546641252a07e82054e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a970768c65532546641252a07e82054e9">power</a> (long e)</td></tr>
<tr class="memdesc:a970768c65532546641252a07e82054e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">raise ciphertext to some power  <a href="classhelib_1_1_ctxt.html#a970768c65532546641252a07e82054e9">More...</a><br /></td></tr>
<tr class="separator:a970768c65532546641252a07e82054e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Ciphertext maintenance</div></td></tr>
<tr class="memitem:a722b57bfb66f39cc18ef78d14057ad99"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a722b57bfb66f39cc18ef78d14057ad99">reducePtxtSpace</a> (long newPtxtSpace)</td></tr>
<tr class="memdesc:a722b57bfb66f39cc18ef78d14057ad99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce plaintext space to a divisor of the original plaintext space.  <a href="classhelib_1_1_ctxt.html#a722b57bfb66f39cc18ef78d14057ad99">More...</a><br /></td></tr>
<tr class="separator:a722b57bfb66f39cc18ef78d14057ad99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f9516d718d431ff05c559b2faf53e8d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a5f9516d718d431ff05c559b2faf53e8d">hackPtxtSpace</a> (long newPtxtSpace)</td></tr>
<tr class="separator:a5f9516d718d431ff05c559b2faf53e8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80d08c099a3679fbb7ec5fe854a76569"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a80d08c099a3679fbb7ec5fe854a76569">bumpNoiseBound</a> (double factor)</td></tr>
<tr class="separator:a80d08c099a3679fbb7ec5fe854a76569"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23039f8d524eaa851f939b466fed9476"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a23039f8d524eaa851f939b466fed9476">reLinearize</a> (long keyIdx=0)</td></tr>
<tr class="separator:a23039f8d524eaa851f939b466fed9476"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae0018a9d72553cd654b650d7a725ef6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#aae0018a9d72553cd654b650d7a725ef6">cleanUp</a> ()</td></tr>
<tr class="separator:aae0018a9d72553cd654b650d7a725ef6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0561bc0edf66d15838f9c5a05029c370"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a0561bc0edf66d15838f9c5a05029c370">blindCtxt</a> (const NTL::ZZX &amp;poly)</td></tr>
<tr class="memdesc:a0561bc0edf66d15838f9c5a05029c370"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a high-noise encryption of the given constant.  <a href="classhelib_1_1_ctxt.html#a0561bc0edf66d15838f9c5a05029c370">More...</a><br /></td></tr>
<tr class="separator:a0561bc0edf66d15838f9c5a05029c370"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24a99574856f42a599b4d23509f2a7ff"><td class="memItemLeft" align="right" valign="top">NTL::xdouble&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a24a99574856f42a599b4d23509f2a7ff">modSwitchAddedNoiseBound</a> () const</td></tr>
<tr class="memdesc:a24a99574856f42a599b4d23509f2a7ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Estimate the added noise.  <a href="classhelib_1_1_ctxt.html#a24a99574856f42a599b4d23509f2a7ff">More...</a><br /></td></tr>
<tr class="separator:a24a99574856f42a599b4d23509f2a7ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70334af58d9653f4afdd4891890d4af0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a70334af58d9653f4afdd4891890d4af0">modUpToSet</a> (const <a class="el" href="classhelib_1_1_index_set.html">IndexSet</a> &amp;s)</td></tr>
<tr class="memdesc:a70334af58d9653f4afdd4891890d4af0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modulus-switching up (to a larger modulus). Must have primeSet &lt;= s, and s must contain either all the special primes or none of them.  <a href="classhelib_1_1_ctxt.html#a70334af58d9653f4afdd4891890d4af0">More...</a><br /></td></tr>
<tr class="separator:a70334af58d9653f4afdd4891890d4af0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f74fbde43034baef79adc4d06db363c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a2f74fbde43034baef79adc4d06db363c">modDownToSet</a> (const <a class="el" href="classhelib_1_1_index_set.html">IndexSet</a> &amp;s)</td></tr>
<tr class="memdesc:a2f74fbde43034baef79adc4d06db363c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modulus-switching down (to a smaller modulus). mod-switch down to primeSet \intersect s, after this call we have primeSet&lt;=s. s must contain either all special primes or none of them.  <a href="classhelib_1_1_ctxt.html#a2f74fbde43034baef79adc4d06db363c">More...</a><br /></td></tr>
<tr class="separator:a2f74fbde43034baef79adc4d06db363c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0f744c8c78cdf34c9f40098f4085afc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#af0f744c8c78cdf34c9f40098f4085afc">bringToSet</a> (const <a class="el" href="classhelib_1_1_index_set.html">IndexSet</a> &amp;s)</td></tr>
<tr class="memdesc:af0f744c8c78cdf34c9f40098f4085afc"><td class="mdescLeft">&#160;</td><td class="mdescRight">make the primeSet equal to newPrimeSet, via modUpToSet and modDownToSet  <a href="classhelib_1_1_ctxt.html#af0f744c8c78cdf34c9f40098f4085afc">More...</a><br /></td></tr>
<tr class="separator:af0f744c8c78cdf34c9f40098f4085afc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3667914cd71100d32e806c54a882a98"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#af3667914cd71100d32e806c54a882a98">naturalSize</a> () const</td></tr>
<tr class="separator:af3667914cd71100d32e806c54a882a98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8438ce2e01ffef412729f699f37065a9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhelib_1_1_index_set.html">IndexSet</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a8438ce2e01ffef412729f699f37065a9">naturalPrimeSet</a> () const</td></tr>
<tr class="memdesc:a8438ce2e01ffef412729f699f37065a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">"natural size" is size before squaring  <a href="classhelib_1_1_ctxt.html#a8438ce2e01ffef412729f699f37065a9">More...</a><br /></td></tr>
<tr class="separator:a8438ce2e01ffef412729f699f37065a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fabe23624e6c54750f068c3f1e9b490"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a3fabe23624e6c54750f068c3f1e9b490">dropSmallAndSpecialPrimes</a> ()</td></tr>
<tr class="memdesc:a3fabe23624e6c54750f068c3f1e9b490"><td class="mdescLeft">&#160;</td><td class="mdescRight">the corresponding primeSet  <a href="classhelib_1_1_ctxt.html#a3fabe23624e6c54750f068c3f1e9b490">More...</a><br /></td></tr>
<tr class="separator:a3fabe23624e6c54750f068c3f1e9b490"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d5d53ba7f12d893d93d3c9b46b27827"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a9d5d53ba7f12d893d93d3c9b46b27827">capacity</a> () const</td></tr>
<tr class="memdesc:a9d5d53ba7f12d893d93d3c9b46b27827"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the "capacity" of a ciphertext, which is the log of the ratio of the modulus to the noise bound  <a href="classhelib_1_1_ctxt.html#a9d5d53ba7f12d893d93d3c9b46b27827">More...</a><br /></td></tr>
<tr class="separator:a9d5d53ba7f12d893d93d3c9b46b27827"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5103acf634a7c78666e0c2938b6e3bbb"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a5103acf634a7c78666e0c2938b6e3bbb">bitCapacity</a> () const</td></tr>
<tr class="memdesc:a5103acf634a7c78666e0c2938b6e3bbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">the capacity in bits, returned as an integer  <a href="classhelib_1_1_ctxt.html#a5103acf634a7c78666e0c2938b6e3bbb">More...</a><br /></td></tr>
<tr class="separator:a5103acf634a7c78666e0c2938b6e3bbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57e7cfb7d52bd6e850383d9a38144748"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a57e7cfb7d52bd6e850383d9a38144748">logOfPrimeSet</a> () const</td></tr>
<tr class="memdesc:a57e7cfb7d52bd6e850383d9a38144748"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the log of the prime set  <a href="classhelib_1_1_ctxt.html#a57e7cfb7d52bd6e850383d9a38144748">More...</a><br /></td></tr>
<tr class="separator:a57e7cfb7d52bd6e850383d9a38144748"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb35f5d35c4948bf307e0ac5d735fde6"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#abb35f5d35c4948bf307e0ac5d735fde6">rawModSwitch</a> (std::vector&lt; NTL::ZZX &gt; &amp;zzParts, long toModulus) const</td></tr>
<tr class="memdesc:abb35f5d35c4948bf307e0ac5d735fde6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special-purpose modulus-switching for bootstrapping.  <a href="classhelib_1_1_ctxt.html#abb35f5d35c4948bf307e0ac5d735fde6">More...</a><br /></td></tr>
<tr class="separator:abb35f5d35c4948bf307e0ac5d735fde6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf051666c8e14f40472c563b18b32ca2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#aaf051666c8e14f40472c563b18b32ca2">evalPoly</a> (const NTL::ZZX &amp;poly)</td></tr>
<tr class="memdesc:aaf051666c8e14f40472c563b18b32ca2"><td class="mdescLeft">&#160;</td><td class="mdescRight">compute the power X,X^2,...,X^n  <a href="classhelib_1_1_ctxt.html#aaf051666c8e14f40472c563b18b32ca2">More...</a><br /></td></tr>
<tr class="separator:aaf051666c8e14f40472c563b18b32ca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Utility methods</div></td></tr>
<tr class="memitem:a7f4dbad8c809d781dacc912b8badcc8a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a7f4dbad8c809d781dacc912b8badcc8a">clear</a> ()</td></tr>
<tr class="separator:a7f4dbad8c809d781dacc912b8badcc8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a151d7507c39014fe92da71b22d9fdaf1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a151d7507c39014fe92da71b22d9fdaf1">isEmpty</a> () const</td></tr>
<tr class="memdesc:a151d7507c39014fe92da71b22d9fdaf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this an empty ciphertext without any parts.  <a href="classhelib_1_1_ctxt.html#a151d7507c39014fe92da71b22d9fdaf1">More...</a><br /></td></tr>
<tr class="separator:a151d7507c39014fe92da71b22d9fdaf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86eef267960b71e6d7407cb9b485e57a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a86eef267960b71e6d7407cb9b485e57a">inCanonicalForm</a> (long keyID=0) const</td></tr>
<tr class="memdesc:a86eef267960b71e6d7407cb9b485e57a"><td class="mdescLeft">&#160;</td><td class="mdescRight">A canonical ciphertext has (at most) handles pointing to (1,s)  <a href="classhelib_1_1_ctxt.html#a86eef267960b71e6d7407cb9b485e57a">More...</a><br /></td></tr>
<tr class="separator:a86eef267960b71e6d7407cb9b485e57a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1bef6b0f71080cf5fba23ea87490d0c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#ab1bef6b0f71080cf5fba23ea87490d0c">isCorrect</a> () const</td></tr>
<tr class="memdesc:ab1bef6b0f71080cf5fba23ea87490d0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Would this ciphertext be decrypted without errors?  <a href="classhelib_1_1_ctxt.html#ab1bef6b0f71080cf5fba23ea87490d0c">More...</a><br /></td></tr>
<tr class="separator:ab1bef6b0f71080cf5fba23ea87490d0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17f72520454a241efefa48b9132faf47"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classhelib_1_1_context.html">Context</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a17f72520454a241efefa48b9132faf47">getContext</a> () const</td></tr>
<tr class="separator:a17f72520454a241efefa48b9132faf47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56a77dfb30edd3f462dc078b6098957f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classhelib_1_1_pub_key.html">PubKey</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a56a77dfb30edd3f462dc078b6098957f">getPubKey</a> () const</td></tr>
<tr class="separator:a56a77dfb30edd3f462dc078b6098957f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e275e190947283a1a3d4a95bd3d035f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classhelib_1_1_index_set.html">IndexSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a0e275e190947283a1a3d4a95bd3d035f">getPrimeSet</a> () const</td></tr>
<tr class="separator:a0e275e190947283a1a3d4a95bd3d035f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1ae403520999ebf024a8c664e74ea41"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#ad1ae403520999ebf024a8c664e74ea41">getPtxtSpace</a> () const</td></tr>
<tr class="separator:ad1ae403520999ebf024a8c664e74ea41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e02098df3239c69de18eeb18230b2d4"><td class="memItemLeft" align="right" valign="top">const NTL::xdouble &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a0e02098df3239c69de18eeb18230b2d4">getNoiseBound</a> () const</td></tr>
<tr class="separator:a0e02098df3239c69de18eeb18230b2d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5daa78f3a3a389ad51b86ab80c888a2b"><td class="memItemLeft" align="right" valign="top">const NTL::xdouble &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a5daa78f3a3a389ad51b86ab80c888a2b">getRatFactor</a> () const</td></tr>
<tr class="separator:a5daa78f3a3a389ad51b86ab80c888a2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c698a0abe3be38476a7d753f01cc2da"><td class="memItemLeft" align="right" valign="top">const NTL::xdouble &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a1c698a0abe3be38476a7d753f01cc2da">getPtxtMag</a> () const</td></tr>
<tr class="separator:a1c698a0abe3be38476a7d753f01cc2da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0c7680eb965e3e62138f98b18abca22"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#aa0c7680eb965e3e62138f98b18abca22">setPtxtMag</a> (const NTL::xdouble &amp;z)</td></tr>
<tr class="separator:aa0c7680eb965e3e62138f98b18abca22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae1e0cb3a33cfed57792f6045ad7c959"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#aae1e0cb3a33cfed57792f6045ad7c959">getKeyID</a> () const</td></tr>
<tr class="separator:aae1e0cb3a33cfed57792f6045ad7c959"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6b93e6a7979f2d7e14022fe1ec9c384"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#ac6b93e6a7979f2d7e14022fe1ec9c384">isCKKS</a> () const</td></tr>
<tr class="separator:ac6b93e6a7979f2d7e14022fe1ec9c384"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41b893329c70c016d9b42c558eb16b50"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a41b893329c70c016d9b42c558eb16b50">effectiveR</a> () const</td></tr>
<tr class="separator:a41b893329c70c016d9b42c558eb16b50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4062ff14de8774d02f27cae393cb08a5"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a4062ff14de8774d02f27cae393cb08a5">log_of_ratio</a> () const</td></tr>
<tr class="memdesc:a4062ff14de8774d02f27cae393cb08a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns log(noiseBound) - log(q)  <a href="classhelib_1_1_ctxt.html#a4062ff14de8774d02f27cae393cb08a5">More...</a><br /></td></tr>
<tr class="separator:a4062ff14de8774d02f27cae393cb08a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a50433a7d94585512ad6b583a596bbad2"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a50433a7d94585512ad6b583a596bbad2">equalizeRationalFactors</a> (<a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;c1, <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;c2)</td></tr>
<tr class="separator:a50433a7d94585512ad6b583a596bbad2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a09d29f59ac3fa73945a16931be4f756f"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a09d29f59ac3fa73945a16931be4f756f">PubKey</a></td></tr>
<tr class="separator:a09d29f59ac3fa73945a16931be4f756f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b5d89141b4d68c0830b9fe4468ac8f7"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a5b5d89141b4d68c0830b9fe4468ac8f7">SecKey</a></td></tr>
<tr class="separator:a5b5d89141b4d68c0830b9fe4468ac8f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aece74568ce6fca0a4def01ee5e797a47"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#aece74568ce6fca0a4def01ee5e797a47">BasicAutomorphPrecon</a></td></tr>
<tr class="separator:aece74568ce6fca0a4def01ee5e797a47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a965b7c23b5accbeb262bafb324632167"><td class="memItemLeft" align="right" valign="top">std::istream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#a965b7c23b5accbeb262bafb324632167">operator&gt;&gt;</a> (std::istream &amp;str, <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;ctxt)</td></tr>
<tr class="separator:a965b7c23b5accbeb262bafb324632167"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcb6fc628bff328e4ee762f7019000e3"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhelib_1_1_ctxt.html#abcb6fc628bff328e4ee762f7019000e3">operator&lt;&lt;</a> (std::ostream &amp;str, const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;ctxt)</td></tr>
<tr class="separator:abcb6fc628bff328e4ee762f7019000e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A <a class="el" href="classhelib_1_1_ctxt.html" title="A Ctxt object holds a single ciphertext.">Ctxt</a> object holds a single ciphertext. </p>
<p>The class <a class="el" href="classhelib_1_1_ctxt.html" title="A Ctxt object holds a single ciphertext.">Ctxt</a> includes a std::vector&lt;CtxtPart&gt;: For a <a class="el" href="classhelib_1_1_ctxt.html" title="A Ctxt object holds a single ciphertext.">Ctxt</a> c, c[i] is the i'th ciphertext part, which can be used also as a <a class="el" href="classhelib_1_1_double_c_r_t.html" title="Implementing polynomials (elements in the ring R_Q) in double-CRT form.">DoubleCRT</a> object (since <a class="el" href="classhelib_1_1_ctxt_part.html" title="One entry in a ciphertext std::vector.">CtxtPart</a> is derived from <a class="el" href="classhelib_1_1_double_c_r_t.html" title="Implementing polynomials (elements in the ring R_Q) in double-CRT form.">DoubleCRT</a>). By convention, c[0], the first <a class="el" href="classhelib_1_1_ctxt_part.html" title="One entry in a ciphertext std::vector.">CtxtPart</a> object in the std::vector, has skHndl that points to 1 (i.e., it is just added in upon decryption, without being multiplied by anything). We maintain the invariance that all the parts of a ciphertext are defined relative to the same set of primes.</p>
<p>A ciphertext contains also pointers to the general parameters of this FHE instance and the public key, and a high-probability bound on the noise magnitude (kept in the noiseBound data member). The noise bound is a bound on the l-infinity norm of the canonical embedding of the noise polynomial, namely its evaluation in roots of the ring polynomial (which are the complex primitive roots of unity). The noise bound is added on addition, multiplied on multiplications, remains unchanged for automorphism, and is roughly scaled down by mod-switching with some added factor, and similarly scaled up by key-switching with some added factor. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a6167385b97fec9383924ce1de0623447"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6167385b97fec9383924ce1de0623447">&#9670;&nbsp;</a></span>Ctxt() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">helib::Ctxt::Ctxt </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_pub_key.html">PubKey</a> &amp;&#160;</td>
          <td class="paramname"><em>newPubKey</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>newPtxtSpace</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a9755426e7ad503525a3f7ebd7fda001a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9755426e7ad503525a3f7ebd7fda001a">&#9670;&nbsp;</a></span>Ctxt() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">helib::Ctxt::Ctxt </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="acb0f12d9006e3627112eeced549920a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb0f12d9006e3627112eeced549920a0">&#9670;&nbsp;</a></span>Ctxt() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">helib::Ctxt::Ctxt </td>
          <td>(</td>
          <td class="paramtype">ZeroCtxtLike_type&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td>
          <td class="paramname"><em>ctxt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="acec01f9913e427f8231124d8514cff7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acec01f9913e427f8231124d8514cff7b">&#9670;&nbsp;</a></span>addConstant() <span class="overload">[1/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::addConstant </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_double_c_r_t.html">DoubleCRT</a> &amp;&#160;</td>
          <td class="paramname"><em>dcrt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>size</em> = <code>-1.0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Add a constant polynomial. If provided, size should be a high-probability bound on the L-infty norm of the canonical embedding Otherwise, for the <a class="el" href="classhelib_1_1_double_c_r_t.html" title="Implementing polynomials (elements in the ring R_Q) in double-CRT form.">DoubleCRT</a> variant, a bound based on the assumption that the coefficients are uniformly and independently distributed over [-ptxtSpace/2, ptxtSpace/2]. For the other variants, explicit bounds are computed (if not <a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a>). </p>

</div>
</div>
<a id="a370e61d286e2c2716f2d0659e1dfa1e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a370e61d286e2c2716f2d0659e1dfa1e8">&#9670;&nbsp;</a></span>addConstant() <span class="overload">[2/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::addConstant </td>
          <td>(</td>
          <td class="paramtype">const NTL::ZZ &amp;&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="abaec7ff406cef04d8abb5d85f1f516d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abaec7ff406cef04d8abb5d85f1f516d4">&#9670;&nbsp;</a></span>addConstant() <span class="overload">[3/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::addConstant </td>
          <td>(</td>
          <td class="paramtype">const NTL::ZZX &amp;&#160;</td>
          <td class="paramname"><em>poly</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>size</em> = <code>-1.0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ae1974d8eaedd9da6ef46ac38a4dbf740"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1974d8eaedd9da6ef46ac38a4dbf740">&#9670;&nbsp;</a></span>addConstant() <span class="overload">[4/4]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scheme &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::addConstant </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td>
          <td class="paramname"><em>ptxt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add a <code><a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a></code> plaintext to this <code><a class="el" href="classhelib_1_1_ctxt.html" title="A Ctxt object holds a single ciphertext.">Ctxt</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ptxt</td><td>Plaintext <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> object with which to add. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a415c1e0f7cafd709d2161ad2d36f3661"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a415c1e0f7cafd709d2161ad2d36f3661">&#9670;&nbsp;</a></span>addConstantCKKS() <span class="overload">[1/7]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::addConstantCKKS </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_double_c_r_t.html">DoubleCRT</a> &amp;&#160;</td>
          <td class="paramname"><em>dcrt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NTL::xdouble&#160;</td>
          <td class="paramname"><em>size</em> = <code>NTL::xdouble(-1.0)</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NTL::xdouble&#160;</td>
          <td class="paramname"><em>factor</em> = <code>NTL::xdouble(-1.0)</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ac94306a1f86ba6b68a3931f4f33375b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac94306a1f86ba6b68a3931f4f33375b1">&#9670;&nbsp;</a></span>addConstantCKKS() <span class="overload">[2/7]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::addConstantCKKS </td>
          <td>(</td>
          <td class="paramtype">const NTL::ZZ &amp;&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ad09bb52639c5689845b0b33b87802e02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad09bb52639c5689845b0b33b87802e02">&#9670;&nbsp;</a></span>addConstantCKKS() <span class="overload">[3/7]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::addConstantCKKS </td>
          <td>(</td>
          <td class="paramtype">const NTL::ZZX &amp;&#160;</td>
          <td class="paramname"><em>poly</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NTL::xdouble&#160;</td>
          <td class="paramname"><em>size</em> = <code>NTL::xdouble(-1.0)</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NTL::xdouble&#160;</td>
          <td class="paramname"><em>factor</em> = <code>NTL::xdouble(-1.0)</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="acf5e4278c14b630cfc5531ea3af1ac80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf5e4278c14b630cfc5531ea3af1ac80">&#9670;&nbsp;</a></span>addConstantCKKS() <span class="overload">[4/7]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::addConstantCKKS </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>ptxt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a <code><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a></code> plaintext to this <code><a class="el" href="classhelib_1_1_ctxt.html" title="A Ctxt object holds a single ciphertext.">Ctxt</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ptxt</td><td>Plaintext <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> object with which to add. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a499b85bc813569310397131c291acc54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a499b85bc813569310397131c291acc54">&#9670;&nbsp;</a></span>addConstantCKKS() <span class="overload">[5/7]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::addConstantCKKS </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::complex&lt; double &gt;&gt; &amp;&#160;</td>
          <td class="paramname"><em>ptxt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a6662c3655bc718353a84832e6c7a6a41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6662c3655bc718353a84832e6c7a6a41">&#9670;&nbsp;</a></span>addConstantCKKS() <span class="overload">[6/7]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::addConstantCKKS </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a1c60338c2ff6041ef211d16bc8fd0835"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c60338c2ff6041ef211d16bc8fd0835">&#9670;&nbsp;</a></span>addConstantCKKS() <span class="overload">[7/7]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::addConstantCKKS </td>
          <td>(</td>
          <td class="paramtype">std::pair&lt; long, long &gt;&#160;</td>
          <td class="paramname"><em>num</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>add a rational number in the form a/b, a,b are long </p>

</div>
</div>
<a id="ab6d6ddcfda3e0e00c821e9c30cc933be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6d6ddcfda3e0e00c821e9c30cc933be">&#9670;&nbsp;</a></span>addCtxt()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::addCtxt </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>negative</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a0378ed181a8f8d6a31f4717db37f3912"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0378ed181a8f8d6a31f4717db37f3912">&#9670;&nbsp;</a></span>automorph()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::automorph </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a5103acf634a7c78666e0c2938b6e3bbb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5103acf634a7c78666e0c2938b6e3bbb">&#9670;&nbsp;</a></span>bitCapacity()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long helib::Ctxt::bitCapacity </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>the capacity in bits, returned as an integer </p>

</div>
</div>
<a id="a0561bc0edf66d15838f9c5a05029c370"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0561bc0edf66d15838f9c5a05029c370">&#9670;&nbsp;</a></span>blindCtxt()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::blindCtxt </td>
          <td>(</td>
          <td class="paramtype">const NTL::ZZX &amp;&#160;</td>
          <td class="paramname"><em>poly</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a high-noise encryption of the given constant. </p>

</div>
</div>
<a id="af0f744c8c78cdf34c9f40098f4085afc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0f744c8c78cdf34c9f40098f4085afc">&#9670;&nbsp;</a></span>bringToSet()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::bringToSet </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_index_set.html">IndexSet</a> &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>make the primeSet equal to newPrimeSet, via modUpToSet and modDownToSet </p>

</div>
</div>
<a id="a80d08c099a3679fbb7ec5fe854a76569"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80d08c099a3679fbb7ec5fe854a76569">&#9670;&nbsp;</a></span>bumpNoiseBound()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::bumpNoiseBound </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>factor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a9d5d53ba7f12d893d93d3c9b46b27827"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d5d53ba7f12d893d93d3c9b46b27827">&#9670;&nbsp;</a></span>capacity()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double helib::Ctxt::capacity </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>returns the "capacity" of a ciphertext, which is the log of the ratio of the modulus to the noise bound </p>

</div>
</div>
<a id="aae0018a9d72553cd654b650d7a725ef6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae0018a9d72553cd654b650d7a725ef6">&#9670;&nbsp;</a></span>cleanUp()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::cleanUp </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a7f4dbad8c809d781dacc912b8badcc8a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f4dbad8c809d781dacc912b8badcc8a">&#9670;&nbsp;</a></span>clear()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::clear </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a266574a060b91f68d54771b0b083d0ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a266574a060b91f68d54771b0b083d0ac">&#9670;&nbsp;</a></span>complexConj()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::complexConj </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a4f62266b5308de72c99e490c601c9c61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f62266b5308de72c99e490c601c9c61">&#9670;&nbsp;</a></span>cube()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::cube </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="abf3fba1cfff58043e99f24889629b58b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf3fba1cfff58043e99f24889629b58b">&#9670;&nbsp;</a></span>divideBy2()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::divideBy2 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="afac2f450f59550fe5189581128a797ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afac2f450f59550fe5189581128a797ad">&#9670;&nbsp;</a></span>divideByP()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::divideByP </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Divide a ciphertext by p, for plaintext space p^r, r&gt;1. It is assumed that the ciphertext encrypts a polynomial which is zero mod p. If this is not the case then the result will not be a valid ciphertext anymore. As a side-effect, the plaintext space is reduced from p^r to p^{r-1}. </p>

</div>
</div>
<a id="a3fabe23624e6c54750f068c3f1e9b490"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3fabe23624e6c54750f068c3f1e9b490">&#9670;&nbsp;</a></span>dropSmallAndSpecialPrimes()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::dropSmallAndSpecialPrimes </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>the corresponding primeSet </p>
<p>drop all smallPrimes and specialPrimes, adding ctxtPrimes as necessary to ensure that the scaled noise is above the modulus-switching added noise term. </p>

</div>
</div>
<a id="a2a6c0076a639a07b64ca0836c6d2ba8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a6c0076a639a07b64ca0836c6d2ba8f">&#9670;&nbsp;</a></span>DummyEncrypt()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::DummyEncrypt </td>
          <td>(</td>
          <td class="paramtype">const NTL::ZZX &amp;&#160;</td>
          <td class="paramname"><em>ptxt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>size</em> = <code>-1.0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Dummy encryption, just encodes the plaintext in a <a class="el" href="classhelib_1_1_ctxt.html" title="A Ctxt object holds a single ciphertext.">Ctxt</a> object If provided, size should be a high-probability bound on the L-infty norm of the canonical embedding </p>

</div>
</div>
<a id="a41b893329c70c016d9b42c558eb16b50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a41b893329c70c016d9b42c558eb16b50">&#9670;&nbsp;</a></span>effectiveR()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long helib::Ctxt::effectiveR </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a50433a7d94585512ad6b583a596bbad2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50433a7d94585512ad6b583a596bbad2">&#9670;&nbsp;</a></span>equalizeRationalFactors()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::equalizeRationalFactors </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td>
          <td class="paramname"><em>c1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td>
          <td class="paramname"><em>c2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ac38e7805aad49feadfab6044a3b83c0b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac38e7805aad49feadfab6044a3b83c0b">&#9670;&nbsp;</a></span>equalsTo()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool helib::Ctxt::equalsTo </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>comparePkeys</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="aaf051666c8e14f40472c563b18b32ca2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf051666c8e14f40472c563b18b32ca2">&#9670;&nbsp;</a></span>evalPoly()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::evalPoly </td>
          <td>(</td>
          <td class="paramtype">const NTL::ZZX &amp;&#160;</td>
          <td class="paramname"><em>poly</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>compute the power X,X^2,...,X^n </p>
<p>Evaluate the cleartext poly on the encrypted ciphertext </p>

</div>
</div>
<a id="a46f673df4826eace8616c27efec22356"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46f673df4826eace8616c27efec22356">&#9670;&nbsp;</a></span>extractBits()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::extractBits </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>bits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>nBits2extract</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="af45e7cea4c25ed6252b5695f1686ea01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af45e7cea4c25ed6252b5695f1686ea01">&#9670;&nbsp;</a></span>frobeniusAutomorph()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::frobeniusAutomorph </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>j</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>applies the automorphism p^j using smartAutomorphism </p>

</div>
</div>
<a id="a17f72520454a241efefa48b9132faf47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17f72520454a241efefa48b9132faf47">&#9670;&nbsp;</a></span>getContext()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classhelib_1_1_context.html">Context</a>&amp; helib::Ctxt::getContext </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="aae1e0cb3a33cfed57792f6045ad7c959"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae1e0cb3a33cfed57792f6045ad7c959">&#9670;&nbsp;</a></span>getKeyID()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long helib::Ctxt::getKeyID </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a0e02098df3239c69de18eeb18230b2d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e02098df3239c69de18eeb18230b2d4">&#9670;&nbsp;</a></span>getNoiseBound()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const NTL::xdouble&amp; helib::Ctxt::getNoiseBound </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a0e275e190947283a1a3d4a95bd3d035f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e275e190947283a1a3d4a95bd3d035f">&#9670;&nbsp;</a></span>getPrimeSet()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classhelib_1_1_index_set.html">IndexSet</a>&amp; helib::Ctxt::getPrimeSet </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a1c698a0abe3be38476a7d753f01cc2da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c698a0abe3be38476a7d753f01cc2da">&#9670;&nbsp;</a></span>getPtxtMag()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const NTL::xdouble&amp; helib::Ctxt::getPtxtMag </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ad1ae403520999ebf024a8c664e74ea41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1ae403520999ebf024a8c664e74ea41">&#9670;&nbsp;</a></span>getPtxtSpace()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long helib::Ctxt::getPtxtSpace </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a56a77dfb30edd3f462dc078b6098957f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56a77dfb30edd3f462dc078b6098957f">&#9670;&nbsp;</a></span>getPubKey()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classhelib_1_1_pub_key.html">PubKey</a>&amp; helib::Ctxt::getPubKey </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a5daa78f3a3a389ad51b86ab80c888a2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5daa78f3a3a389ad51b86ab80c888a2b">&#9670;&nbsp;</a></span>getRatFactor()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const NTL::xdouble&amp; helib::Ctxt::getRatFactor </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a5f9516d718d431ff05c559b2faf53e8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f9516d718d431ff05c559b2faf53e8d">&#9670;&nbsp;</a></span>hackPtxtSpace()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::hackPtxtSpace </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>newPtxtSpace</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a86eef267960b71e6d7407cb9b485e57a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a86eef267960b71e6d7407cb9b485e57a">&#9670;&nbsp;</a></span>inCanonicalForm()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool helib::Ctxt::inCanonicalForm </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>keyID</em> = <code>0</code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A canonical ciphertext has (at most) handles pointing to (1,s) </p>

</div>
</div>
<a id="ac6b93e6a7979f2d7e14022fe1ec9c384"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6b93e6a7979f2d7e14022fe1ec9c384">&#9670;&nbsp;</a></span>isCKKS()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool helib::Ctxt::isCKKS </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ab1bef6b0f71080cf5fba23ea87490d0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1bef6b0f71080cf5fba23ea87490d0c">&#9670;&nbsp;</a></span>isCorrect()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool helib::Ctxt::isCorrect </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Would this ciphertext be decrypted without errors? </p>

</div>
</div>
<a id="a151d7507c39014fe92da71b22d9fdaf1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a151d7507c39014fe92da71b22d9fdaf1">&#9670;&nbsp;</a></span>isEmpty()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool helib::Ctxt::isEmpty </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Is this an empty ciphertext without any parts. </p>

</div>
</div>
<a id="a4062ff14de8774d02f27cae393cb08a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4062ff14de8774d02f27cae393cb08a5">&#9670;&nbsp;</a></span>log_of_ratio()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double helib::Ctxt::log_of_ratio </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns log(noiseBound) - log(q) </p>

</div>
</div>
<a id="a57e7cfb7d52bd6e850383d9a38144748"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57e7cfb7d52bd6e850383d9a38144748">&#9670;&nbsp;</a></span>logOfPrimeSet()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double helib::Ctxt::logOfPrimeSet </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>returns the log of the prime set </p>

</div>
</div>
<a id="a2f74fbde43034baef79adc4d06db363c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f74fbde43034baef79adc4d06db363c">&#9670;&nbsp;</a></span>modDownToSet()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::modDownToSet </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_index_set.html">IndexSet</a> &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Modulus-switching down (to a smaller modulus). mod-switch down to primeSet \intersect s, after this call we have primeSet&lt;=s. s must contain either all special primes or none of them. </p>

</div>
</div>
<a id="a24a99574856f42a599b4d23509f2a7ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24a99574856f42a599b4d23509f2a7ff">&#9670;&nbsp;</a></span>modSwitchAddedNoiseBound()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NTL::xdouble helib::Ctxt::modSwitchAddedNoiseBound </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Estimate the added noise. </p>

</div>
</div>
<a id="a70334af58d9653f4afdd4891890d4af0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70334af58d9653f4afdd4891890d4af0">&#9670;&nbsp;</a></span>modUpToSet()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::modUpToSet </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_index_set.html">IndexSet</a> &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Modulus-switching up (to a larger modulus). Must have primeSet &lt;= s, and s must contain either all the special primes or none of them. </p>

</div>
</div>
<a id="a312b6f2468ea56f3b594bb9585d6f7eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a312b6f2468ea56f3b594bb9585d6f7eb">&#9670;&nbsp;</a></span>multByConstant() <span class="overload">[1/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::multByConstant </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_double_c_r_t.html">DoubleCRT</a> &amp;&#160;</td>
          <td class="paramname"><em>dcrt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>size</em> = <code>-1.0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Multiply-by-constant. If the size is not given, for the DCRT variant, we use a high probability bound assuming "random" coefficients mod ptxtSpace, while for the other variants, we use explicitly computed bounds (if not <a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a>). </p>

</div>
</div>
<a id="ac438d6e8c4537f7b3ee986ec847233a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac438d6e8c4537f7b3ee986ec847233a8">&#9670;&nbsp;</a></span>multByConstant() <span class="overload">[2/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::multByConstant </td>
          <td>(</td>
          <td class="paramtype">const NTL::ZZ &amp;&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a707549d0908eac6332e313c444146bb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a707549d0908eac6332e313c444146bb3">&#9670;&nbsp;</a></span>multByConstant() <span class="overload">[3/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::multByConstant </td>
          <td>(</td>
          <td class="paramtype">const NTL::ZZX &amp;&#160;</td>
          <td class="paramname"><em>poly</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>size</em> = <code>-1.0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a160e2585f4693920976a482f8ba4435d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a160e2585f4693920976a482f8ba4435d">&#9670;&nbsp;</a></span>multByConstant() <span class="overload">[4/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scheme &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::multByConstant </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; Scheme &gt; &amp;&#160;</td>
          <td class="paramname"><em>ptxt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Multiply a <code><a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a></code> plaintext to this <code><a class="el" href="classhelib_1_1_ctxt.html" title="A Ctxt object holds a single ciphertext.">Ctxt</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ptxt</td><td>Plaintext <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> object with which to multiply. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aaf4ef787b8aa61e345341e838dc29500"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf4ef787b8aa61e345341e838dc29500">&#9670;&nbsp;</a></span>multByConstant() <span class="overload">[5/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::multByConstant </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespacehelib.html#a4d6002f36f1a61982fded09adf1331ca">zzX</a> &amp;&#160;</td>
          <td class="paramname"><em>poly</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>size</em> = <code>-1.0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="abaf38ffe233cda0c7952083934fcbadd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abaf38ffe233cda0c7952083934fcbadd">&#9670;&nbsp;</a></span>multByConstantCKKS() <span class="overload">[1/6]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::multByConstantCKKS </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_double_c_r_t.html">DoubleCRT</a> &amp;&#160;</td>
          <td class="paramname"><em>dcrt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NTL::xdouble&#160;</td>
          <td class="paramname"><em>size</em> = <code>NTL::xdouble(-1.0)</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NTL::xdouble&#160;</td>
          <td class="paramname"><em>factor</em> = <code>NTL::xdouble(-1.0)</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>roundingErr</em> = <code>-1.0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a079e2d2426c5076ef1c1e52882dc7ec3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a079e2d2426c5076ef1c1e52882dc7ec3">&#9670;&nbsp;</a></span>multByConstantCKKS() <span class="overload">[2/6]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::multByConstantCKKS </td>
          <td>(</td>
          <td class="paramtype">const NTL::ZZX &amp;&#160;</td>
          <td class="paramname"><em>poly</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NTL::xdouble&#160;</td>
          <td class="paramname"><em>size</em> = <code>NTL::xdouble(-1.0)</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NTL::xdouble&#160;</td>
          <td class="paramname"><em>factor</em> = <code>NTL::xdouble(-1.0)</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>roundingErr</em> = <code>-1.0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="abeeddcfcee2046dc59c3c0070ec5adfc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abeeddcfcee2046dc59c3c0070ec5adfc">&#9670;&nbsp;</a></span>multByConstantCKKS() <span class="overload">[3/6]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::multByConstantCKKS </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>ptxt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Multiply a <code><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a></code> plaintext to this <code><a class="el" href="classhelib_1_1_ctxt.html" title="A Ctxt object holds a single ciphertext.">Ctxt</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ptxt</td><td>Plaintext <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code> object polynomial with which to multiply. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ac694a35d2d272544d31ff337dbab6473"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac694a35d2d272544d31ff337dbab6473">&#9670;&nbsp;</a></span>multByConstantCKKS() <span class="overload">[4/6]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::multByConstantCKKS </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::complex&lt; double &gt;&gt; &amp;&#160;</td>
          <td class="paramname"><em>ptxt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ad69c95bea08a86cf839078e92d730a74"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad69c95bea08a86cf839078e92d730a74">&#9670;&nbsp;</a></span>multByConstantCKKS() <span class="overload">[5/6]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::multByConstantCKKS </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>multiply by a rational number or floating point </p>

</div>
</div>
<a id="a8dcaea89cdce5bdc050c5327aa9394bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8dcaea89cdce5bdc050c5327aa9394bc">&#9670;&nbsp;</a></span>multByConstantCKKS() <span class="overload">[6/6]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::multByConstantCKKS </td>
          <td>(</td>
          <td class="paramtype">std::pair&lt; long, long &gt;&#160;</td>
          <td class="paramname"><em>num</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a5d7f0fe8a4c3e7b9b3298396039589cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d7f0fe8a4c3e7b9b3298396039589cf">&#9670;&nbsp;</a></span>multByP()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::multByP </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>e</em> = <code>1</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Multiply ciphertext by p^e, for plaintext space p^r. This also has the side-effect of increasing the plaintext space to p^{r+e}. </p>

</div>
</div>
<a id="a4998340ac9bb105674b4a136ef5f1eb0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4998340ac9bb105674b4a136ef5f1eb0">&#9670;&nbsp;</a></span>multiplyBy()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::multiplyBy </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a590e147aceaf3db0c4a7fdbcd870ee89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a590e147aceaf3db0c4a7fdbcd870ee89">&#9670;&nbsp;</a></span>multiplyBy2()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::multiplyBy2 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td>
          <td class="paramname"><em>other1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td>
          <td class="paramname"><em>other2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="afb098f38a18ec6de648acadb8265d9ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb098f38a18ec6de648acadb8265d9ba">&#9670;&nbsp;</a></span>multLowLvl()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::multLowLvl </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>destructive</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a8438ce2e01ffef412729f699f37065a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8438ce2e01ffef412729f699f37065a9">&#9670;&nbsp;</a></span>naturalPrimeSet()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_index_set.html">IndexSet</a> helib::Ctxt::naturalPrimeSet </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>"natural size" is size before squaring </p>

</div>
</div>
<a id="af3667914cd71100d32e806c54a882a98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3667914cd71100d32e806c54a882a98">&#9670;&nbsp;</a></span>naturalSize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double helib::Ctxt::naturalSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a0d8950ecc7af034b33ac8f5a247ef5ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d8950ecc7af034b33ac8f5a247ef5ea">&#9670;&nbsp;</a></span>negate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::negate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a587ab9412c3344825a34ce58d0641e3d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a587ab9412c3344825a34ce58d0641e3d">&#9670;&nbsp;</a></span>nxorConstant() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::nxorConstant </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_double_c_r_t.html">DoubleCRT</a> &amp;&#160;</td>
          <td class="paramname"><em>poly</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="api_attributes_8h.html#addf5ec070e9499d36b7f2009ce736076">UNUSED</a> double&#160;</td>
          <td class="paramname"><em>size</em> = <code>-1.0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="aa15b7e2bfaf801a12ac9f7f2b407b7a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa15b7e2bfaf801a12ac9f7f2b407b7a6">&#9670;&nbsp;</a></span>nxorConstant() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::nxorConstant </td>
          <td>(</td>
          <td class="paramtype">const NTL::ZZX &amp;&#160;</td>
          <td class="paramname"><em>poly</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>size</em> = <code>-1.0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ad761bbf3977b408b91b3e9f1f9d54243"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad761bbf3977b408b91b3e9f1f9d54243">&#9670;&nbsp;</a></span>operator!=()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool helib::Ctxt::operator!= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a08b1a6dbb1fe85b2cda29b8babba474f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08b1a6dbb1fe85b2cda29b8babba474f">&#9670;&nbsp;</a></span>operator*=() <span class="overload">[1/5]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a>&amp; helib::Ctxt::operator*= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="aa292708bc593d7cb88fcf3f8e0c8f2d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa292708bc593d7cb88fcf3f8e0c8f2d5">&#9670;&nbsp;</a></span>operator*=() <span class="overload">[2/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp; helib::Ctxt::operator*= </td>
          <td>(</td>
          <td class="paramtype">const long&#160;</td>
          <td class="paramname"><em>scalar</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Times equals operator with a <code>long</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scalar</td><td>Constant by which to multiply. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post multiplication. </dd></dl>

</div>
</div>
<a id="a0cf434520f6c68c822409113677c6240"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cf434520f6c68c822409113677c6240">&#9670;&nbsp;</a></span>operator*=() <span class="overload">[3/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp; helib::Ctxt::operator*= </td>
          <td>(</td>
          <td class="paramtype">const NTL::ZZX &amp;&#160;</td>
          <td class="paramname"><em>poly</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Times equals operator with a <code>ZZX</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">poly</td><td>Element by which to multiply. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post multiplication. </dd></dl>

</div>
</div>
<a id="a88d06208529634231c0775db8dc02898"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88d06208529634231c0775db8dc02898">&#9670;&nbsp;</a></span>operator*=() <span class="overload">[4/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp; helib::Ctxt::operator*= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_b_g_v.html">BGV</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Times equals operator with a <code><a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a></code> <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td>Right hand side of multiplication. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>reference to <code>*this</code> post multiplication. </dd></dl>

</div>
</div>
<a id="ad3f259b406a088d0ff32df494c97816c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad3f259b406a088d0ff32df494c97816c">&#9670;&nbsp;</a></span>operator*=() <span class="overload">[5/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp; helib::Ctxt::operator*= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Times equals operator with a <code><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a></code> <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td>Right hand side of multiplication. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post multiplication. </dd></dl>

</div>
</div>
<a id="a8e117ac77007f17b33985d1b12da1ca8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e117ac77007f17b33985d1b12da1ca8">&#9670;&nbsp;</a></span>operator+=() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a>&amp; helib::Ctxt::operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a2bfa68b28b7c36985bfcaf1715ff4080"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2bfa68b28b7c36985bfcaf1715ff4080">&#9670;&nbsp;</a></span>operator+=() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp; helib::Ctxt::operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_b_g_v.html">BGV</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Plus equals operator with a <code><a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a></code> <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td>Right hand side of addition. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post addition. </dd></dl>

</div>
</div>
<a id="a9f2e100a365df2f539f71105c646c73d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f2e100a365df2f539f71105c646c73d">&#9670;&nbsp;</a></span>operator+=() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp; helib::Ctxt::operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Plus equals operator with a <code><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a></code> <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td>Right hand side of addition. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post addition. </dd></dl>

</div>
</div>
<a id="ad791bfc3ca7b717e5c961992e264d4ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad791bfc3ca7b717e5c961992e264d4ab">&#9670;&nbsp;</a></span>operator-=() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a>&amp; helib::Ctxt::operator-= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a39e5837bef036452274043f88ccef878"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39e5837bef036452274043f88ccef878">&#9670;&nbsp;</a></span>operator-=() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp; helib::Ctxt::operator-= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_b_g_v.html">BGV</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Minus equals operator with a <code><a class="el" href="structhelib_1_1_b_g_v.html" title="Type for BGV scheme, to be used as template parameter.">BGV</a></code> <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td>Right hand side of subtraction. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post subtraction. </dd></dl>

</div>
</div>
<a id="a37501fb39c2d0959e6c97a5079d538c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37501fb39c2d0959e6c97a5079d538c3">&#9670;&nbsp;</a></span>operator-=() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp; helib::Ctxt::operator-= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ptxt.html">Ptxt</a>&lt; <a class="el" href="structhelib_1_1_c_k_k_s.html">CKKS</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Minus equals operator with a <code><a class="el" href="structhelib_1_1_c_k_k_s.html" title="Type for CKKS scheme, to be used as template parameter.">CKKS</a></code> <code><a class="el" href="classhelib_1_1_ptxt.html" title="An object that mimics the functionality of the Ctxt object, and acts as a convenient entry point for ...">Ptxt</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td>Right hand side of subtraction. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> post subtraction. </dd></dl>

</div>
</div>
<a id="a42eabb3f49d284987f292904e347896f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42eabb3f49d284987f292904e347896f">&#9670;&nbsp;</a></span>operator=()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a>&amp; helib::Ctxt::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a84cb5f5d23fcb447ac18af18497570ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84cb5f5d23fcb447ac18af18497570ef">&#9670;&nbsp;</a></span>operator==()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool helib::Ctxt::operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ae1a8692ddc6523e41a38cbc033e0798c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1a8692ddc6523e41a38cbc033e0798c">&#9670;&nbsp;</a></span>operator&gt;&gt;=()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a>&amp; helib::Ctxt::operator&gt;&gt;= </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a970768c65532546641252a07e82054e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a970768c65532546641252a07e82054e9">&#9670;&nbsp;</a></span>power()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::power </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>raise ciphertext to some power </p>

</div>
</div>
<a id="abb35f5d35c4948bf307e0ac5d735fde6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb35f5d35c4948bf307e0ac5d735fde6">&#9670;&nbsp;</a></span>rawModSwitch()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double helib::Ctxt::rawModSwitch </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; NTL::ZZX &gt; &amp;&#160;</td>
          <td class="paramname"><em>zzParts</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>toModulus</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Special-purpose modulus-switching for bootstrapping. </p>
<p>Mod-switch to an externally-supplied modulus. The modulus need not be in the moduli-chain in the context, and does not even need to be a prime. The ciphertext *this is not affected, instead the result is returned in the zzParts std::vector, as a std::vector of ZZX'es. Returns an estimate for the scaled noise (not including the additive mod switching noise) </p>

</div>
</div>
<a id="a7fa59bafd14baaf72dcdf8fe2bdd600f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fa59bafd14baaf72dcdf8fe2bdd600f">&#9670;&nbsp;</a></span>read()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::read </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a722b57bfb66f39cc18ef78d14057ad99"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a722b57bfb66f39cc18ef78d14057ad99">&#9670;&nbsp;</a></span>reducePtxtSpace()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::reducePtxtSpace </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>newPtxtSpace</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reduce plaintext space to a divisor of the original plaintext space. </p>

</div>
</div>
<a id="a23039f8d524eaa851f939b466fed9476"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23039f8d524eaa851f939b466fed9476">&#9670;&nbsp;</a></span>reLinearize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::reLinearize </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>keyIdx</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="aa0c7680eb965e3e62138f98b18abca22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0c7680eb965e3e62138f98b18abca22">&#9670;&nbsp;</a></span>setPtxtMag()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::setPtxtMag </td>
          <td>(</td>
          <td class="paramtype">const NTL::xdouble &amp;&#160;</td>
          <td class="paramname"><em>z</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ad7697bc94e5db93b5db7238fa6418d15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7697bc94e5db93b5db7238fa6418d15">&#9670;&nbsp;</a></span>smartAutomorph()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::smartAutomorph </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>automorphism with re-linearization </p>

</div>
</div>
<a id="a61dba3779cdb768843fa488e94b34a46"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61dba3779cdb768843fa488e94b34a46">&#9670;&nbsp;</a></span>square()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::square </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ac1559c3aed190d010d3687667943dbc1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac1559c3aed190d010d3687667943dbc1">&#9670;&nbsp;</a></span>write()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::write </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a437f17abc80f5401cad056aca075bf03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a437f17abc80f5401cad056aca075bf03">&#9670;&nbsp;</a></span>xorConstant() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::xorConstant </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_double_c_r_t.html">DoubleCRT</a> &amp;&#160;</td>
          <td class="paramname"><em>poly</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="api_attributes_8h.html#addf5ec070e9499d36b7f2009ce736076">UNUSED</a> double&#160;</td>
          <td class="paramname"><em>size</em> = <code>-1.0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Convenience method: XOR and nXOR with arbitrary plaintext space: a xor b = a+b-2ab = a + (1-2a)*b, a nxor b = 1-a-b+2ab = (b-1)(2a-1)+a </p>

</div>
</div>
<a id="a034f38f0e52a7fa7b9bd234c5ddfefdf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a034f38f0e52a7fa7b9bd234c5ddfefdf">&#9670;&nbsp;</a></span>xorConstant() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void helib::Ctxt::xorConstant </td>
          <td>(</td>
          <td class="paramtype">const NTL::ZZX &amp;&#160;</td>
          <td class="paramname"><em>poly</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>size</em> = <code>-1.0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a id="aece74568ce6fca0a4def01ee5e797a47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aece74568ce6fca0a4def01ee5e797a47">&#9670;&nbsp;</a></span>BasicAutomorphPrecon</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classhelib_1_1_basic_automorph_precon.html">BasicAutomorphPrecon</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="abcb6fc628bff328e4ee762f7019000e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abcb6fc628bff328e4ee762f7019000e3">&#9670;&nbsp;</a></span>operator&lt;&lt;</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream&amp; operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td>
          <td class="paramname"><em>ctxt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a965b7c23b5accbeb262bafb324632167"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a965b7c23b5accbeb262bafb324632167">&#9670;&nbsp;</a></span>operator&gt;&gt;</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::istream&amp; operator&gt;&gt; </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classhelib_1_1_ctxt.html">Ctxt</a> &amp;&#160;</td>
          <td class="paramname"><em>ctxt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a09d29f59ac3fa73945a16931be4f756f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09d29f59ac3fa73945a16931be4f756f">&#9670;&nbsp;</a></span>PubKey</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classhelib_1_1_pub_key.html">PubKey</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a5b5d89141b4d68c0830b9fe4468ac8f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b5d89141b4d68c0830b9fe4468ac8f7">&#9670;&nbsp;</a></span>SecKey</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classhelib_1_1_sec_key.html">SecKey</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>/HElib/include/helib/<a class="el" href="_ctxt_8h_source.html">Ctxt.h</a></li>
<li>/HElib/src/<a class="el" href="_ctxt_8cpp.html">Ctxt.cpp</a></li>
<li>/HElib/src/<a class="el" href="poly_eval_8cpp.html">polyEval.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.18
</small></address>
</body>
        <script type="text/javascript" src="doxy-boot.js"></script>
</html>
